package org.jypj.dev.service.impl;


import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import javax.annotation.Resource;

import org.jypj.dev.util.StringUtil;
import org.springframework.stereotype.Service;
import org.jypj.dev.model.ApkInfo;
import org.jypj.dev.dao.IApkInfoDao;
import org.jypj.dev.service.IApkInfoService;
import org.jypj.dev.util.Page;

@Service("apkInfoService")
public class ApkInfoServiceImpl implements IApkInfoService {

    @Resource
    private IApkInfoDao apkInfoDao;

    /**
    * 保存
    * 所有字段全都保存
    * @param apkInfo
    * @return 保存后的对象包括ID
    */
    public int saveApkInfo(ApkInfo apkInfo){
        if(StringUtil.isEmpty(apkInfo.getId())){
            String uuid =UUID.randomUUID().toString().replace("-", "").trim();
            apkInfo.setId(uuid);
        }
        return apkInfoDao.saveApkInfo(apkInfo);
    }

    /**
    * 根据ID删除
    * @param id 主键ID
    * @return 删除记录数
    */
    public int deleteApkInfoById(String id){

        return apkInfoDao.deleteApkInfoById(id);
    }

    /**
    * 根据对象删除
    * @param apkInfo
    * @return
    */
    public int deleteApkInfoByObject(ApkInfo apkInfo){

        return apkInfoDao.deleteApkInfoByObject(apkInfo);
    }

    /**
    * 更新
    * 更新所有字段
    * @param apkInfo
    * @return 保存后的对象包括ID
    */
    public int updateApkInfo(ApkInfo apkInfo){

        return apkInfoDao.updateApkInfo(apkInfo);
    }

    /**
    * 按ID查询
    * @parm id 主键ID
    * @return ApkInfo
    */
    public ApkInfo selectApkInfoById(String id){

        return apkInfoDao.selectApkInfoById(id);
    }

    /**
    * 分页查询 包含条件
    * @param page 分页对象
    * @param map  查询条件
    * @return  List<ApkInfo>
    */
    public Page selectOnePageByMap(Page page,Map<String,Object> map){
        List<ApkInfo> apkInfos =apkInfoDao.selectOnePageByMap(page,map);
        if(apkInfos!=null&&apkInfos.size()>0){
            page.setResult(apkInfos);
        }else{
            page.setResult(new ArrayList<ApkInfo>());
        }
        return page;
    }
    /**
    * 分页查询 包含对象条件
    * @param page 分页对象
    * @param apkInfo  查询条件
    * @return Page
    */
    public Page selectOnePageByApkInfo(Page page,ApkInfo apkInfo){
        List<ApkInfo> apkInfos =apkInfoDao.selectOnePageByApkInfo(page,apkInfo);
        if(apkInfos!=null&&apkInfos.size()>0){
            page.setResult(apkInfos);
        }else{
            page.setResult(new ArrayList<ApkInfo>());
        }
        return page;
    }

    /**
    * 按条件查询全部的
    * @param map  查询条件
    * @return  List<ApkInfo>
    */
    public List<ApkInfo> selectAllByMap(Map<String,Object> map){
        return apkInfoDao.selectAllByMap(map);
    }


    /**
    * 按条件查询全部的
    * @param apkInfo  查询条件
    * @return  List<ApkInfo>
    */
    public List<ApkInfo> selectAllByApkInfo(ApkInfo apkInfo){

        return apkInfoDao.selectAllByApkInfo(apkInfo);
    }

    /**
    * 按条件查询单个对象
    * @param map  查询条件
    * @return  ApkInfo
    */
    public ApkInfo selectObjectByMap(Map<String,Object> map){

        return apkInfoDao.selectObjectByMap(map);
    }

    /**
    * 按条件查询单个对象
    * @param apkInfo  查询条件
    * @return  ApkInfo
    */
    public ApkInfo selectObjectByApkInfo(ApkInfo apkInfo){

        return apkInfoDao.selectObjectByApkInfo(apkInfo);
    }
}